package com.mdb.open.trade.domain.po.trade;

/*
* Copyright (C), 2017-2019 澳发科技(MDB)
* FileName: TfLoanApplyCustomsInfoService.java
* Author:   you.yichao
* Date:     2019-08-08
* History:
* <author>          <time>          <version>          <desc>
* you.yichao         2019-08-08          V1.00             代码生成器初始生成代码
* -----------------------------------------------------------
* 作者姓名           修改时间           版本号            描述
*/


import com.baomidou.mybatisplus.annotation.*;
import com.mdb.bc.api.data.DataObjectBase;
import com.mdb.open.common.enums.trade.type.TradeSourceTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
* 类描述：
*  贸易融资申请报关信息表实体类
*
* @author you.yichao
* @date 2019-08-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tf_loan_apply_customs_info")
public class LoanApplyCustomsInfo extends DataObjectBase {

    private static final long serialVersionUID = 1L;
    /**
     * 唯一性Id
     */
    @ApiModelProperty(value = "唯一性Id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 融资融资申请编号
     */
    @ApiModelProperty(value = "融资融资申请编号")
    @TableField("apply_order_no")
    private String applyOrderNo;

    /**
     * 融资申请报关单编号
     */
    @ApiModelProperty(value = "融资申请报关单编号")
    @TableField("apply_order_customs_no")
    private String applyOrderCustomsNo;

    /**
     * 业务编号
     */
    @ApiModelProperty(value = "业务编号")
    @TableField("business_no")
    private String businessNo;

    /**
     * 客户编码
     */
    @ApiModelProperty(value = "客户编码")
    @TableField("customer_code")
    private String customerCode;

    /**
     * 客户名称
     */
    @ApiModelProperty(value = "客户名称")
    @TableField("customer_name")
    private String customerName;

    /**
    * 商户客户编码
    */
    @ApiModelProperty(value = "商户客户编码")
    @TableField("mcustomer_code")
    private String mcustomerCode;

    /**
     * 商户编号
     */
    @ApiModelProperty(value = "商户编号")
    @TableField("merchant_no")
    private String merchantNo;

    /**
     * 报关单号
     */
    @ApiModelProperty(value = "报关单号")
    @TableField("customs_no")
    private String customsNo;

    /**
     * 商户名称
     */
    @ApiModelProperty(value = "商户名称")
    @TableField("merchant_name")
    private String merchantName;

    /**
     * 报关地点
     */
    @ApiModelProperty(value = "报关地点")
    @TableField("customs_location")
    private String customsLocation;

    /**
     * 报关抬头
     */
    @ApiModelProperty(value = "报关抬头")
    @TableField("customs_title")
    private String customsTitle;

    /**
     * 报关金额
     */
    @ApiModelProperty(value = "报关金额")
    @TableField("customs_amount")
    private BigDecimal customsAmount;

    /**
     * 币种
     */
    @ApiModelProperty(value = "币种")
    private String ccy;

    /**
     * 报关时间
     */
    @ApiModelProperty(value = "报关时间")
    @TableField("commit_time")
    private LocalDateTime commitTime;

    /**
     * 起运港
     */
    @ApiModelProperty(value = "起运港")
    @TableField("loading_port")
    private String loadingPort;

    /**
     * 起运港代码
     */
    @ApiModelProperty(value = "起运港代码")
    @TableField("loading_port_code")
    private String loadingPortCode;

    /**
     * 目的港
     */
    @ApiModelProperty(value = "目的港")
    @TableField("destin_port")
    private String destinPort;

    /**
     * 目的港代码
     */
    @ApiModelProperty(value = "目的港代码")
    @TableField("destin_port_code")
    private String destinPortCode;

    /**
     * 目的国
     */
    @ApiModelProperty(value = "目的国")
    @TableField("destin_country")
    private String destinCountry;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 来源类别
     */
    @ApiModelProperty(value = "来源类别")
    @TableField("source_type")
    private TradeSourceTypeEnum sourceType;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 乐观锁版本号
     */
    @ApiModelProperty(value = "乐观锁版本号")
    @Version
    private Integer version;

    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    @TableLogic
    private boolean deleted;

}
